package com.desksoft.ecommerce.entity.logistics.dto;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ClientagreehExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ClientagreehExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andBillnoIsNull() {
            addCriterion("BillNo is null");
            return (Criteria) this;
        }

        public Criteria andBillnoIsNotNull() {
            addCriterion("BillNo is not null");
            return (Criteria) this;
        }

        public Criteria andBillnoEqualTo(String value) {
            addCriterion("BillNo =", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotEqualTo(String value) {
            addCriterion("BillNo <>", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoGreaterThan(String value) {
            addCriterion("BillNo >", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoGreaterThanOrEqualTo(String value) {
            addCriterion("BillNo >=", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoLessThan(String value) {
            addCriterion("BillNo <", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoLessThanOrEqualTo(String value) {
            addCriterion("BillNo <=", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoLike(String value) {
            addCriterion("BillNo like", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotLike(String value) {
            addCriterion("BillNo not like", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoIn(List<String> values) {
            addCriterion("BillNo in", values, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotIn(List<String> values) {
            addCriterion("BillNo not in", values, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoBetween(String value1, String value2) {
            addCriterion("BillNo between", value1, value2, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotBetween(String value1, String value2) {
            addCriterion("BillNo not between", value1, value2, "billno");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNull() {
            addCriterion("StoreCode is null");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNotNull() {
            addCriterion("StoreCode is not null");
            return (Criteria) this;
        }

        public Criteria andStorecodeEqualTo(String value) {
            addCriterion("StoreCode =", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotEqualTo(String value) {
            addCriterion("StoreCode <>", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThan(String value) {
            addCriterion("StoreCode >", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThanOrEqualTo(String value) {
            addCriterion("StoreCode >=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThan(String value) {
            addCriterion("StoreCode <", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThanOrEqualTo(String value) {
            addCriterion("StoreCode <=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLike(String value) {
            addCriterion("StoreCode like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotLike(String value) {
            addCriterion("StoreCode not like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeIn(List<String> values) {
            addCriterion("StoreCode in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotIn(List<String> values) {
            addCriterion("StoreCode not in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeBetween(String value1, String value2) {
            addCriterion("StoreCode between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotBetween(String value1, String value2) {
            addCriterion("StoreCode not between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andClientcodeIsNull() {
            addCriterion("ClientCode is null");
            return (Criteria) this;
        }

        public Criteria andClientcodeIsNotNull() {
            addCriterion("ClientCode is not null");
            return (Criteria) this;
        }

        public Criteria andClientcodeEqualTo(String value) {
            addCriterion("ClientCode =", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotEqualTo(String value) {
            addCriterion("ClientCode <>", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeGreaterThan(String value) {
            addCriterion("ClientCode >", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ClientCode >=", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLessThan(String value) {
            addCriterion("ClientCode <", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLessThanOrEqualTo(String value) {
            addCriterion("ClientCode <=", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLike(String value) {
            addCriterion("ClientCode like", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotLike(String value) {
            addCriterion("ClientCode not like", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeIn(List<String> values) {
            addCriterion("ClientCode in", values, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotIn(List<String> values) {
            addCriterion("ClientCode not in", values, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeBetween(String value1, String value2) {
            addCriterion("ClientCode between", value1, value2, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotBetween(String value1, String value2) {
            addCriterion("ClientCode not between", value1, value2, "clientcode");
            return (Criteria) this;
        }

        public Criteria andBilldateIsNull() {
            addCriterion("BillDate is null");
            return (Criteria) this;
        }

        public Criteria andBilldateIsNotNull() {
            addCriterion("BillDate is not null");
            return (Criteria) this;
        }

        public Criteria andBilldateEqualTo(Date value) {
            addCriterion("BillDate =", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateNotEqualTo(Date value) {
            addCriterion("BillDate <>", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateGreaterThan(Date value) {
            addCriterion("BillDate >", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateGreaterThanOrEqualTo(Date value) {
            addCriterion("BillDate >=", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateLessThan(Date value) {
            addCriterion("BillDate <", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateLessThanOrEqualTo(Date value) {
            addCriterion("BillDate <=", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateIn(List<Date> values) {
            addCriterion("BillDate in", values, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateNotIn(List<Date> values) {
            addCriterion("BillDate not in", values, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateBetween(Date value1, Date value2) {
            addCriterion("BillDate between", value1, value2, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateNotBetween(Date value1, Date value2) {
            addCriterion("BillDate not between", value1, value2, "billdate");
            return (Criteria) this;
        }

        public Criteria andOperatedateIsNull() {
            addCriterion("OperateDate is null");
            return (Criteria) this;
        }

        public Criteria andOperatedateIsNotNull() {
            addCriterion("OperateDate is not null");
            return (Criteria) this;
        }

        public Criteria andOperatedateEqualTo(Date value) {
            addCriterion("OperateDate =", value, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateNotEqualTo(Date value) {
            addCriterion("OperateDate <>", value, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateGreaterThan(Date value) {
            addCriterion("OperateDate >", value, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateGreaterThanOrEqualTo(Date value) {
            addCriterion("OperateDate >=", value, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateLessThan(Date value) {
            addCriterion("OperateDate <", value, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateLessThanOrEqualTo(Date value) {
            addCriterion("OperateDate <=", value, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateIn(List<Date> values) {
            addCriterion("OperateDate in", values, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateNotIn(List<Date> values) {
            addCriterion("OperateDate not in", values, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateBetween(Date value1, Date value2) {
            addCriterion("OperateDate between", value1, value2, "operatedate");
            return (Criteria) this;
        }

        public Criteria andOperatedateNotBetween(Date value1, Date value2) {
            addCriterion("OperateDate not between", value1, value2, "operatedate");
            return (Criteria) this;
        }

        public Criteria andAgreetypeIsNull() {
            addCriterion("AgreeType is null");
            return (Criteria) this;
        }

        public Criteria andAgreetypeIsNotNull() {
            addCriterion("AgreeType is not null");
            return (Criteria) this;
        }

        public Criteria andAgreetypeEqualTo(String value) {
            addCriterion("AgreeType =", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeNotEqualTo(String value) {
            addCriterion("AgreeType <>", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeGreaterThan(String value) {
            addCriterion("AgreeType >", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeGreaterThanOrEqualTo(String value) {
            addCriterion("AgreeType >=", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeLessThan(String value) {
            addCriterion("AgreeType <", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeLessThanOrEqualTo(String value) {
            addCriterion("AgreeType <=", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeLike(String value) {
            addCriterion("AgreeType like", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeNotLike(String value) {
            addCriterion("AgreeType not like", value, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeIn(List<String> values) {
            addCriterion("AgreeType in", values, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeNotIn(List<String> values) {
            addCriterion("AgreeType not in", values, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeBetween(String value1, String value2) {
            addCriterion("AgreeType between", value1, value2, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreetypeNotBetween(String value1, String value2) {
            addCriterion("AgreeType not between", value1, value2, "agreetype");
            return (Criteria) this;
        }

        public Criteria andAgreemodeIsNull() {
            addCriterion("AgreeMode is null");
            return (Criteria) this;
        }

        public Criteria andAgreemodeIsNotNull() {
            addCriterion("AgreeMode is not null");
            return (Criteria) this;
        }

        public Criteria andAgreemodeEqualTo(String value) {
            addCriterion("AgreeMode =", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeNotEqualTo(String value) {
            addCriterion("AgreeMode <>", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeGreaterThan(String value) {
            addCriterion("AgreeMode >", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeGreaterThanOrEqualTo(String value) {
            addCriterion("AgreeMode >=", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeLessThan(String value) {
            addCriterion("AgreeMode <", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeLessThanOrEqualTo(String value) {
            addCriterion("AgreeMode <=", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeLike(String value) {
            addCriterion("AgreeMode like", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeNotLike(String value) {
            addCriterion("AgreeMode not like", value, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeIn(List<String> values) {
            addCriterion("AgreeMode in", values, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeNotIn(List<String> values) {
            addCriterion("AgreeMode not in", values, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeBetween(String value1, String value2) {
            addCriterion("AgreeMode between", value1, value2, "agreemode");
            return (Criteria) this;
        }

        public Criteria andAgreemodeNotBetween(String value1, String value2) {
            addCriterion("AgreeMode not between", value1, value2, "agreemode");
            return (Criteria) this;
        }

        public Criteria andOriginalnoIsNull() {
            addCriterion("OriginalNo is null");
            return (Criteria) this;
        }

        public Criteria andOriginalnoIsNotNull() {
            addCriterion("OriginalNo is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalnoEqualTo(String value) {
            addCriterion("OriginalNo =", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoNotEqualTo(String value) {
            addCriterion("OriginalNo <>", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoGreaterThan(String value) {
            addCriterion("OriginalNo >", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoGreaterThanOrEqualTo(String value) {
            addCriterion("OriginalNo >=", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoLessThan(String value) {
            addCriterion("OriginalNo <", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoLessThanOrEqualTo(String value) {
            addCriterion("OriginalNo <=", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoLike(String value) {
            addCriterion("OriginalNo like", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoNotLike(String value) {
            addCriterion("OriginalNo not like", value, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoIn(List<String> values) {
            addCriterion("OriginalNo in", values, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoNotIn(List<String> values) {
            addCriterion("OriginalNo not in", values, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoBetween(String value1, String value2) {
            addCriterion("OriginalNo between", value1, value2, "originalno");
            return (Criteria) this;
        }

        public Criteria andOriginalnoNotBetween(String value1, String value2) {
            addCriterion("OriginalNo not between", value1, value2, "originalno");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNull() {
            addCriterion("Operator is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNotNull() {
            addCriterion("Operator is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorEqualTo(String value) {
            addCriterion("Operator =", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotEqualTo(String value) {
            addCriterion("Operator <>", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThan(String value) {
            addCriterion("Operator >", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("Operator >=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThan(String value) {
            addCriterion("Operator <", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThanOrEqualTo(String value) {
            addCriterion("Operator <=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLike(String value) {
            addCriterion("Operator like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotLike(String value) {
            addCriterion("Operator not like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorIn(List<String> values) {
            addCriterion("Operator in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotIn(List<String> values) {
            addCriterion("Operator not in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorBetween(String value1, String value2) {
            addCriterion("Operator between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotBetween(String value1, String value2) {
            addCriterion("Operator not between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andBusinessIsNull() {
            addCriterion("Business is null");
            return (Criteria) this;
        }

        public Criteria andBusinessIsNotNull() {
            addCriterion("Business is not null");
            return (Criteria) this;
        }

        public Criteria andBusinessEqualTo(String value) {
            addCriterion("Business =", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessNotEqualTo(String value) {
            addCriterion("Business <>", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessGreaterThan(String value) {
            addCriterion("Business >", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessGreaterThanOrEqualTo(String value) {
            addCriterion("Business >=", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessLessThan(String value) {
            addCriterion("Business <", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessLessThanOrEqualTo(String value) {
            addCriterion("Business <=", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessLike(String value) {
            addCriterion("Business like", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessNotLike(String value) {
            addCriterion("Business not like", value, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessIn(List<String> values) {
            addCriterion("Business in", values, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessNotIn(List<String> values) {
            addCriterion("Business not in", values, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessBetween(String value1, String value2) {
            addCriterion("Business between", value1, value2, "business");
            return (Criteria) this;
        }

        public Criteria andBusinessNotBetween(String value1, String value2) {
            addCriterion("Business not between", value1, value2, "business");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("Remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("Remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("Remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("Remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("Remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("Remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("Remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("Remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("Remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("Remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("Remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("Remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("Remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("Remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andStartdateIsNull() {
            addCriterion("StartDate is null");
            return (Criteria) this;
        }

        public Criteria andStartdateIsNotNull() {
            addCriterion("StartDate is not null");
            return (Criteria) this;
        }

        public Criteria andStartdateEqualTo(Date value) {
            addCriterion("StartDate =", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateNotEqualTo(Date value) {
            addCriterion("StartDate <>", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateGreaterThan(Date value) {
            addCriterion("StartDate >", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateGreaterThanOrEqualTo(Date value) {
            addCriterion("StartDate >=", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateLessThan(Date value) {
            addCriterion("StartDate <", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateLessThanOrEqualTo(Date value) {
            addCriterion("StartDate <=", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateIn(List<Date> values) {
            addCriterion("StartDate in", values, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateNotIn(List<Date> values) {
            addCriterion("StartDate not in", values, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateBetween(Date value1, Date value2) {
            addCriterion("StartDate between", value1, value2, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateNotBetween(Date value1, Date value2) {
            addCriterion("StartDate not between", value1, value2, "startdate");
            return (Criteria) this;
        }

        public Criteria andStopdateIsNull() {
            addCriterion("StopDate is null");
            return (Criteria) this;
        }

        public Criteria andStopdateIsNotNull() {
            addCriterion("StopDate is not null");
            return (Criteria) this;
        }

        public Criteria andStopdateEqualTo(Date value) {
            addCriterion("StopDate =", value, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateNotEqualTo(Date value) {
            addCriterion("StopDate <>", value, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateGreaterThan(Date value) {
            addCriterion("StopDate >", value, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateGreaterThanOrEqualTo(Date value) {
            addCriterion("StopDate >=", value, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateLessThan(Date value) {
            addCriterion("StopDate <", value, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateLessThanOrEqualTo(Date value) {
            addCriterion("StopDate <=", value, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateIn(List<Date> values) {
            addCriterion("StopDate in", values, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateNotIn(List<Date> values) {
            addCriterion("StopDate not in", values, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateBetween(Date value1, Date value2) {
            addCriterion("StopDate between", value1, value2, "stopdate");
            return (Criteria) this;
        }

        public Criteria andStopdateNotBetween(Date value1, Date value2) {
            addCriterion("StopDate not between", value1, value2, "stopdate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}